import com.fasterxml.jackson.databind.ObjectMapper;

import javax.servlet.ServletException;
import javax.servlet.annotation.WebServlet;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
import java.io.IOException;


// 通过 post 请求获取参数  -- > json

class User {
    // 当前这俩属性都设置成 public 如果是设为 private，但是 同时提供了 getter setter 效果相同
    public int userId;
    public int classId;
}
@WebServlet("/postJson")
public class PostJsonSevrlet extends HelloServlet {

    // 1.创建一个 jason 对象
    private  ObjectMapper objectMapper = new ObjectMapper();

    @Override
    protected void doPost(HttpServletRequest req, HttpServletResponse resp) throws ServletException, IOException {
        // 2.获取 body 中的请求，然后 使用 ObjectMapper 来解析成需要的对象
        // readValue 就是把 JSON 格式的字符串("userId":"123",classId...)，转成 Java 字符串
        // 第一个参数，表示对 哪个字符串 进行转换，这个参数可以填写成一个 String
        // 也可以填写成一个 InputStream对象，也可以是一个 File 对象
        // 第二个参数，表示要把这个 JSON 格式的字符串，转成那个 Java对象

       User user = objectMapper.readValue(req.getInputStream(),User.class);
    }
}
